package com.redstar.HappyRefresh.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.redstar.HappyRefresh.pojo.BasePage;
import com.redstar.HappyRefresh.pojo.HotVideo;
import com.redstar.HappyRefresh.pojo.Result;
import com.redstar.HappyRefresh.pojo.Video;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;

public interface VideoService extends IService<Video> {

    String publishVideo(Video video);

    String deleteVideo(Long id);

    IPage<Video> listByUserIdVideo(BasePage basePage, Long userId);

    String starVideo(Long id, Long userId);

    void addWatchHistory(Long id, Long userId);

    HashMap<String, List<Video>> getHistory(BasePage basePage);

    List<Video> listVideoByFavorites(Long favoritesId);

    String favoritesVideo(Long fId, Long vId);

    List<Video> followFeed(Long userId, Long lastTime);

    List<Video> pushVideos(Long userId);

    List<Video> searchVideo(String searchName, BasePage basePage, Long userId);

    List<Video> getVideoByTypeId(Long typeId);

    String share(Long videoId, HttpServletRequest request);

    Video getVideoById(Long id, Long userId);

    List<HotVideo> listHotRank();

    List<Video> pushVideoSimilar(Video video);

    List<Video> listHotVideo();

    IPage<Video> listVideoByUserId(Long userId, BasePage basePage);

    List<String> searchHistory(Long userId);

    void auditProcess(Video video);

    void violations(Long id);
}
